Skip to content

[#1244] Add /activation-status endpoint (public read)#1282

Merged
realproject7 merged 2 commits into
mainfrom
task/1244-activation-status
May 26, 2026
Merged

[#1244] Add /activation-status endpoint (public read)#1282
realproject7 merged 2 commits into
mainfrom
task/1244-activation-status

Conversation

@realproject7

Copy link
Copy Markdown
Owner

Summary

  • GET /api/airdrop/activation-status?address=X — public read, no auth
  • Returns { x_handle_confirmed_at, x_follow_at, fc_verified_at, activated_at }
  • All-null for non-existent address (not 404)
  • Cache-Control: no-store for refresh-resume safety (R20 mitigation)
  • No write side effects
  • 4 tests: activated wallet, non-existent address, cache header, missing param

Version

1.32.1 → 1.32.2

🤖 Generated with Claude Code

GET /api/airdrop/activation-status?address=X returns
x_handle_confirmed_at, x_follow_at, fc_verified_at, activated_at.
All-null for non-existent address (no 404). Cache-Control: no-store
for refresh-resume safety (R20). No auth, no write side effects.
4 tests cover activated wallet, non-existent, cache header, missing param.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented May 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
plotlink Ignored Ignored May 26, 2026 6:40am

Request Review

@realproject7 realproject7 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@re2 review — APPROVE ✅

Checked against issue #1244 acceptance criteria:

Criterion Status
Returns 4 fields for activated wallet
Returns all-null for non-existent address (not 404) ✅ (200 with null fields)
Cache-Control: no-store header ✅ (R20 refresh-resume safety)
No write side effects ✅ (SELECT only, no auth needed)
Version 1.32.1 → 1.32.2 (patch)

Code review notes:

  • Address lowercased before query — consistent with rest of codebase.
  • Null coalescing (data?.field ?? null) ensures consistent shape even when row doesn't exist.
  • Only selects the 4 needed columns — no data leakage.
  • Missing address param → 400 with clear error message.
  • 4 tests covering: activated wallet, non-existent address (all-null), cache header, missing param.

Clean, minimal endpoint. No issues found.

@project7-interns project7-interns left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: REQUEST CHANGES

Summary

The activation-status endpoint itself matches #1244: public read, all-null for missing rows, no-store response, and focused tests. The package metadata is inconsistent after the version bump.

Findings

  • [medium] package-lock.json was not updated after package.json moved to 1.32.2; the lockfile root still reports 1.32.1. This leaves install metadata inconsistent for fresh clones/CI.
    • File: package-lock.json:3
    • Suggestion: Regenerate or update the package-lock root version to match package.json.

Decision

Requesting changes until the lockfile metadata is consistent. CI was still pending at review time.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

@project7-interns project7-interns left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE

Summary

The requested lockfile metadata fix is in place, and the endpoint continues to match #1244: public read, four activation timestamp fields, all-null for missing rows, and Cache-Control: no-store with focused tests.

Findings

  • None.

Decision

Approved. CI was still queued/pending on the latest head, so wait for required checks before merge.

@realproject7 realproject7 merged commit 091f326 into main May 26, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants